This invention relates to client server computer networks and more particularly to handling quality communication of three-dimensional graphics from a server to a client location.
Increasingly, the data necessary to create three dimensional graphics reside on servers, from whence the information is accessed and transmitted to the client for display. For instance, design data for buildings or geological data for petroleum exploration are stored and maintained on centralized file servers. An individual user assesses the data over a network from their client computer location. Given the fact that the required graphics information can be quite extensive, and the fact that, in the past, an entire data set was required to have been transferred to the client before any information could be displayed, high demands were placed on the network, resulting in long delays between a request and the corresponding display. In addition, extensive data sets require the availability of large local storage at the client.
A challenge to the implementation of a system for downloading three dimensional graphics, whether designed for downloading in one or a series of transfers, is the compatibility of components at the client and the server. A particular mechanism for transferring data from a server to the client may be ideally suited for a certain combination of clients, servers and networks, but may perform poorly in other environments. For instance, the compression of geometric data, as described in xe2x80x9cGeometry Compressionxe2x80x9d by M. Deering, Proceedings Siggraph, 1995, pp 13-20, can be used to reduce the amount of data to be transferred over the network between a server and the client. However, geometry compression will not provide sufficient response time if the model is complex. The system takes a long time to compress the image at the server, and a correspondingly long time to display at the client, unless the client is equipped with a special graphics accelerator. If the client does not have the accelerator for rendering images, it may be more advantageous to transmit a panoramic image, or another representation which does not require a specialized capability for rendering.
Ideally, a system could adaptively select among a number of transmission techniques in response to the capabilities of the client, the network and the server, wherein a client could specify the transmission protocol and the server could format the information to be transmitted in response to the client request.
It is therefore an objective of the invention to reduce the time between a request for three dimensional graphics data from a server and the display of requested information at the client location.
It is another objective of the invention to facilitate the communication of three dimensional graphics data to a client without requiring that client local storage be large enough to accommodate all relevant data at one time.
Yet another objective of the invention is to provide the foregoing capabilities for three dimensional graphics transmission among clients and servers having different capabilities.
These and other objectives are realized in the present invention wherein component capabilities are provided at the server and client locations to gather three dimensional graphics transmission performance parameters, including client rendering capabilities, server load, network bandwidth and optionally-provided user preferences; to evaluate the potential performance of different transmission methods which could be used to communicate a graphics data set from the server to the client; to choose and request a transmission method based upon the evaluating; to format the requested data set for transmission; and to provide the formatted data set for rendering at the display hardware associated with the client.